package com.wei.spring.web.user.model.dto;

/**
 * 类的详细说明
 * 如果继承某个接口{@link StateContext}，提供一个链接，方便使用
 * <p>
 * 如果是过期的接口，那么请尽量提供用于替换的类的链接地址{@link StateContext}
 *
 * @param <S> 如果用到泛型，可以这样注释
 * @param <E> 如果用到泛型，可以这样注释
 * @author buhuan.wang
 * @since 2020/12/21
 */
public enum ResponseCodeEnum implements BaseCodeEnum {

    /**
     * 成功
     */
    SUCCESS("0", "处理成功！"),

    /**
     * 系统出错
     */
    SYSTEM_ERROR("1001", "System error！"),

    /**
     * 缺少参数
     */
    MISS_PARAMETER("1002", "Miss parameter: %s."),

    /**
     * 配置语言重复
     */
    DUPLICATE_LANGUAGE("1003", "Duplicate language found: %s."),

    /**
     * 非法的配置语言
     */
    INVALID_LANGUAGE("1004", "Invalid language found: %s."),

    /**
     * 缺少英文配置语言
     */
    MISS_ENGLISH_LANGUAGE("1005", "Miss english language."),

    /**
     * 参数长度过长
     */
    TOO_LONG_PARAMETER("1006", "Too long parameter. Parameter: %s. Max len: %s."),

    /**
     * 非法参数值
     */
    INVALID_PARAMETER_VALUE("1007", "Invalid parameter value. Parameter: %s. Value: %s."),

    /**
     * 参数存在重复值
     */
    DUPLICATE_PARAMETER_VALUE("1008", "Duplicate parameter value. Parameter: %s. Value: %s."),

    /**
     * 知识点无效
     */
    INVALID_KNOWLEDGE("1009", "Invalid knowledge. Knowledge: %s."),

    /**
     * 对话流无效
     */
    INVALID_DIALOG_FLOW("1010", "Invalid dialog flow. Dialog flow id: %s."),

    /**
     * 更新聊天窗记录不存在
     */
    UPDATE_CHAT_WINDOW_NOT_EXIST("1011", "Update chat window doesn't exist");

    ResponseCodeEnum(String code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 返回码
     */
    private String code;
    /**
     * 返回消息
     */
    private String message;

    @Override
    public String getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return message;
    }

}

